"use client"; import Link from "next/link"; import { useEntitySetContext } from "../../../components/EntitySetProvider"; import { ActionButton } from "components/ActionBar/ActionButton"; import { useSearchParams } from "next/navigation"; import { useIdentityData } from "../../../components/IdentityProvider"; import { useReplicache } from "src/replicache"; import { addLeafletToHome } from "actions/addLeafletToHome"; import { useSmoker } from "../../../components/Toast"; import { AddToHomeSmall } from "../../../components/Icons/AddToHomeSmall"; import { HomeSmall } from "../../../components/Icons/HomeSmall"; import { produce } from "immer"; export function HomeButton() { let { permissions } = useEntitySetContext(); let searchParams = useSearchParams(); return ( <> } label="Go Home" /> {} ); } const AddToHomeButton = (props: {}) => { let { permission_token } = useReplicache(); let { identity, mutate } = useIdentityData(); let smoker = useSmoker(); if ( identity?.permission_token_on_homepage.find( (pth) => pth.permission_tokens.id === permission_token.id, ) || !identity ) return null; return ( { await addLeafletToHome(permission_token.id); mutate((identity) => { if (!identity) return; return produce((draft) => { draft.permission_token_on_homepage.push({ created_at: new Date().toISOString(), archived: null, permission_tokens: { ...permission_token, leaflets_to_documents: [], leaflets_in_publications: [], }, }); })(identity); }); smoker({ position: { x: e.clientX + 64, y: e.clientY, }, text: "Leaflet added to your home!", }); }} icon={} label="Add to Home" /> ); };